import { h, thunk, init } from 'snabbdom'

// 1.hello world
// 参数：数组，模块
// 返回值：patch函数，作用对比两个vnode的差异更新到真实DOM
let patch = init([])    // init函数去初始化了一个patch函数
// 第一个参数：标签+选择器
// 第二个参数：如果是字符串的话就是标签中的内容
let vnode = h('div#container.cls', 'Hello World')   // h函数去创建了vnode

let app = document.querySelector('#app')
// 第一个参数：可以是DOM元素，内部会把DOM元素转换成VNode
// 第二个参数：VNode
// 返回值：VNode
let oldVnode = patch(app, vnode)   // 使用patch函数去更新dom，对比两个vnode，如果第一个参数是真实dom的话。它会把真实dom转换成虚拟dom，然后在对比两个虚拟dom的差异，更新到真实dom，并且返回一个vnode

// 假设的时刻
vnode = h('div', 'Hello Snabbdom')

patch(oldVnode, vnode)

// 2.div中放置子元素 h1，p